#pragma once

#include <iostream>
#include <string>
#include <cstring>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <cassert>

using namespace std;

#define NAMED_PIPE "./mypipe.1"

bool createFifo(const string &path)
{
    umask(0);
    int n = mkfifo(path.c_str(), 0666);
    if (n == 0)
        return true;
    else
    {
        cout << "errno: " << errno << "err string: " << strerror(errno) << endl;
        return false;
    }
}

void removeFifo(const string &path)
{
    int n = unlink(path.c_str());
    assert( n == 0); // debug 下面assert有效  release 下面无效 无效的话n就没有被使用
    (void)n; // 那么定义一个变量，如果没有被使用编译器会报警告，我们不想要警告，所有使用n  (void)n
}